home *** CD-ROM | disk | FTP | other *** search
/ Clickx 75 / Clickx 75.iso / software / expressionweb / expressionwebv3 / ExpressionWeb_en.exe / Setup / WeConen.cab / xweb.ACTIONS._PRELOAD.JS.en < prev    next >
Encoding:
Text File  |  2009-06-09  |  15.2 KB  |  344 lines

  1. ∩╗┐// SharedLib v1.0
  2.  
  3. function FP_preloadImgs() {//v1.0
  4.  var d=document,a=arguments; if(!d.FP_imgs) d.FP_imgs=new Array();
  5.  for(var i=0; i<a.length; i++) { d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; }
  6. }
  7.  
  8. function managePreloads( oDoc, astrToAdd, astrToRemove )
  9. {
  10.     // retrieve all preloaded URLs, find all "FP_preloadImgs" script calls in <body onload>
  11.     
  12.     var oBody                = oDoc.body;
  13.     var strOnLoad            = oBody.getAttribute( "onload" );
  14.     var strBaseUrl            = oDoc.Url;
  15.     var aPreloadUrls        = new Array();    
  16.     var aPreloadCallIndices = new Array();
  17.  
  18.     if( ( strOnLoad ) &&
  19.         ( 0 < strOnLoad.length ) )
  20.     {
  21.         var nScript            = 1;        
  22.         
  23.         for( 
  24.             var strScriptCall = oDoc.getScript( oBody, "onload", nScript );
  25.             "" != strScriptCall;
  26.             strScriptCall = oDoc.getScript( oBody, "onload", ++nScript ) )
  27.         {
  28.             var nEndPos = strScriptCall.indexOf( "(" );
  29.  
  30.             if( 0 <= nEndPos )
  31.             {
  32.                 var strFunctionName = trimStringLeft( trimStringRight( strScriptCall.substr( 0, nEndPos ) ) );
  33.  
  34.                 if( "FP_preloadImgs" == strFunctionName )
  35.                 {
  36.                     var aPreloadArgs = extractArgumentsFromScriptCall( strScriptCall );    
  37.  
  38.                     for( var nArg = 0; nArg < aPreloadArgs.length; nArg++ )                                            
  39.                     {
  40.                         var bAlreadyPreloaded = false;
  41.                         var strArgUrl = trimQuotes( aPreloadArgs[nArg].strArgument );
  42.                                     
  43.                         for( var nPreload = 0; nPreload < aPreloadUrls.length; nPreload++ )
  44.                             if( aPreloadUrls[nPreload] == strArgUrl )
  45.                             {            
  46.                                 bAlreadyPreloaded = true;
  47.                                 break;
  48.                             }
  49.                                 
  50.                         if( !bAlreadyPreloaded )                        
  51.                             aPreloadUrls[aPreloadUrls.length] = strArgUrl;
  52.                     }    
  53.                     
  54.                     aPreloadCallIndices[aPreloadCallIndices.length] = nScript;                                                                
  55.                 }
  56.             }                                    
  57.         }
  58.     }
  59.         
  60.     // look for other swap images already using the given URL
  61.     
  62.     var strDoc = oBody.outerHTML;    
  63.  
  64.     for( var nToRemove = 0; nToRemove < astrToRemove.length ; nToRemove++ )
  65.     {    
  66.         if( -1 != strDoc.search( "FP_swapImg\\(1,.*" + escapeRegExpExpString( astrToRemove[nToRemove] ) + ".*\\)" ) )
  67.             astrToRemove[nToRemove] = "";                
  68.     }
  69.  
  70.     // are we already preloading something in the "to add" list?
  71.         
  72.     for( var nToAdd = 0; nToAdd < astrToAdd.length; nToAdd++ )
  73.     {
  74.         var bAlreadyPreloaded = false;
  75.  
  76.         for( var nPreload = 0; nPreload < aPreloadUrls.length; nPreload++ )
  77.         {
  78.             if( FrontPage.MakeAbs( strBaseUrl, astrToAdd[nToAdd] ) == FrontPage.MakeAbs( strBaseUrl, aPreloadUrls[nPreload] ) )
  79.             {            
  80.                 bAlreadyPreloaded = true;
  81.  
  82.                 break;
  83.             }
  84.         }
  85.  
  86.         if( !bAlreadyPreloaded )
  87.             aPreloadUrls[aPreloadUrls.length] = astrToAdd[nToAdd];
  88.     }        
  89.  
  90.     // remove the appropriate URL's from our master preload array
  91.     
  92.     var strPreloads = "";
  93.  
  94.     for( var nPreload = 0; nPreload < aPreloadUrls.length; nPreload++ )
  95.     {
  96.         var bRemove = false;
  97.  
  98.         for( var nToRemove = 0; nToRemove < astrToRemove.length; nToRemove++ )
  99.         {
  100.             if(    FrontPage.MakeAbs( strBaseUrl, astrToRemove[nToRemove] ) == FrontPage.MakeAbs( strBaseUrl, aPreloadUrls[nPreload] ) )
  101.             {
  102.                 bRemove = true;
  103.                 
  104.                 break;
  105.             }
  106.         }
  107.             
  108.         if( !bRemove )    
  109.             strPreloads += ( !strPreloads.length ? "" : "," ) + "/*url*/'" + aPreloadUrls[nPreload] + "'";
  110.     }
  111.  
  112.     // preload call
  113.     var strPreloadCall = "FP_preloadImgs(" + strPreloads + ")";
  114.  
  115.     // if the preload call hasn't changed, don't modify the document
  116.  
  117.     if( aPreloadCallIndices.length == 1 )
  118.     {
  119.         var strOrigPreloadCall = oDoc.getScript( oBody, "onload", aPreloadCallIndices[0] );
  120.  
  121.         if( strOrigPreloadCall == strPreloadCall )
  122.             return;
  123.     }
  124.  
  125.     // remove original preloads    
  126.     for( var nOrigPreload = aPreloadCallIndices.length-1; nOrigPreload >= 0 ; nOrigPreload-- )
  127.         oDoc.removeScript( oBody, "onload", aPreloadCallIndices[nOrigPreload] );
  128.     
  129.     // add preload call if there's anything to preload
  130.     if( strPreloads.length )
  131.         oDoc.addScript( oBody, "onload", strPreloadCall, 0 );
  132. }
  133.  
  134. // SIG // Begin signature block
  135. // SIG // MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExCzAJBgUr
  136. // SIG // DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
  137. // SIG // gjcCAR4wJAIBAQQQEODJBs441BGiowAQS9NQkAIBAAIB
  138. // SIG // AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFOD+ja/y9OYW
  139. // SIG // ssRGy+m4EWdeRf2/oIIVkzCCA8QwggMtoAMCAQICEEe/
  140. // SIG // GZXfjVJGQ/fbbUgNMaQwDQYJKoZIhvcNAQEFBQAwgYsx
  141. // SIG // CzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENh
  142. // SIG // cGUxFDASBgNVBAcTC0R1cmJhbnZpbGxlMQ8wDQYDVQQK
  143. // SIG // EwZUaGF3dGUxHTAbBgNVBAsTFFRoYXd0ZSBDZXJ0aWZp
  144. // SIG // Y2F0aW9uMR8wHQYDVQQDExZUaGF3dGUgVGltZXN0YW1w
  145. // SIG // aW5nIENBMB4XDTAzMTIwNDAwMDAwMFoXDTEzMTIwMzIz
  146. // SIG // NTk1OVowUzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZl
  147. // SIG // cmlTaWduLCBJbmMuMSswKQYDVQQDEyJWZXJpU2lnbiBU
  148. // SIG // aW1lIFN0YW1waW5nIFNlcnZpY2VzIENBMIIBIjANBgkq
  149. // SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqcqypMzNIK8K
  150. // SIG // fYmsh3XwtE7x38EPv2dhvaNkHNq7+cozq4QwiVh+jNtr
  151. // SIG // 3TaeD7/R7Hjyd6Z+bzy/k68Numj0bJTKvVItq0g99bbV
  152. // SIG // XV8bAp/6L2sepPejmqYayALhf0xS4w5g7EAcfrkN3j/H
  153. // SIG // tN+HvV96ajEuA5mBE6hHIM4xcw1XLc14NDOVEpkSud5o
  154. // SIG // L6rm48KKjCrDiyGHZr2DWFdvdb88qiaHXcoQFTyfhOpU
  155. // SIG // wQpuxP7FSt25BxGXInzbPifRHnjsnzHJ8eYiGdvEs0dD
  156. // SIG // mhpfoB6Q5F717nzxfatiAY/1TQve0CJWqJXNroh2ru66
  157. // SIG // DfPkTdmg+2igrhQ7s4fBuwIDAQABo4HbMIHYMDQGCCsG
  158. // SIG // AQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29j
  159. // SIG // c3AudmVyaXNpZ24uY29tMBIGA1UdEwEB/wQIMAYBAf8C
  160. // SIG // AQAwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2NybC52
  161. // SIG // ZXJpc2lnbi5jb20vVGhhd3RlVGltZXN0YW1waW5nQ0Eu
  162. // SIG // Y3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMIMA4GA1UdDwEB
  163. // SIG // /wQEAwIBBjAkBgNVHREEHTAbpBkwFzEVMBMGA1UEAxMM
  164. // SIG // VFNBMjA0OC0xLTUzMA0GCSqGSIb3DQEBBQUAA4GBAEpr
  165. // SIG // +epYwkQcMYl5mSuWv4KsAdYcTM2wilhu3wgpo17IypMT
  166. // SIG // 5wRSDe9HJy8AOLDkyZNOmtQiYhX3PzchT3AxgPGLOIez
  167. // SIG // 6OiXAP7PVZZOJNKpJ056rrdhQfMqzufJ2V7duyuFPrWd
  168. // SIG // tdnhV/++tMV+9c8MnvCX/ivTO1IbGzgn9z9KMIID/zCC
  169. // SIG // AuegAwIBAgIQDekr8NTYKYgYMgUJXpp2iDANBgkqhkiG
  170. // SIG // 9w0BAQUFADBTMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO
  171. // SIG // VmVyaVNpZ24sIEluYy4xKzApBgNVBAMTIlZlcmlTaWdu
  172. // SIG // IFRpbWUgU3RhbXBpbmcgU2VydmljZXMgQ0EwHhcNMDMx
  173. // SIG // MjA0MDAwMDAwWhcNMDgxMjAzMjM1OTU5WjBXMQswCQYD
  174. // SIG // VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4x
  175. // SIG // LzAtBgNVBAMTJlZlcmlTaWduIFRpbWUgU3RhbXBpbmcg
  176. // SIG // U2VydmljZXMgU2lnbmVyMIIBIjANBgkqhkiG9w0BAQEF
  177. // SIG // AAOCAQ8AMIIBCgKCAQEAslAoSN3TaHqEGERmdV1+xLif
  178. // SIG // Yyb/PUOcfBE4ECVVc9l1J2n9TrkgXNMK+aAbKu1VViFh
  179. // SIG // 2B7b5Lwza8fv3aM3ZY4bkwy2Ux5cfGY1XwWKRf52Tt9T
  180. // SIG // gKKBIJ2uiFyiCPflMPnuIjdMQgrO38YfxNZV6YE/tVKj
  181. // SIG // LKoBevKiqo01/p/mXWoFnz1r47+WwP7MYPlA5wegROuB
  182. // SIG // UW6lKvK2ihAo7Y/cBqCGUJp7SggNMB3KEJ5r9+lYrgSp
  183. // SIG // QJmyKOiPFqw841NvS9M1nbVvZB2zliy7Ped56216+Rbm
  184. // SIG // Jq2v75lTt0Aslbh5qv7UUqspdH5C7DkeomoW5lm7JGjY
  185. // SIG // AIBDEIeAawIDAQABo4HKMIHHMDQGCCsGAQUFBwEBBCgw
  186. // SIG // JjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AudmVyaXNp
  187. // SIG // Z24uY29tMAwGA1UdEwEB/wQCMAAwMwYDVR0fBCwwKjAo
  188. // SIG // oCagJIYiaHR0cDovL2NybC52ZXJpc2lnbi5jb20vdHNz
  189. // SIG // LWNhLmNybDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAO
  190. // SIG // BgNVHQ8BAf8EBAMCBsAwJAYDVR0RBB0wG6QZMBcxFTAT
  191. // SIG // BgNVBAMTDFRTQTIwNDgtMS01NDANBgkqhkiG9w0BAQUF
  192. // SIG // AAOCAQEAh3hw2k5SASBb4HnJgjDE/bkZlr2RAMO9zc3G
  193. // SIG // 9A7Y//lNwDNiMBHF9XQb1JLeX5wgE7F8Rb5QzYPngBeD
  194. // SIG // pyeTZxNG+8q4mEEDzJtRWwWLf6hv8xtQGyQu8mmNbCL3
  195. // SIG // u8oWle0MdMBod9nrmWKHwXOQ+Il0eiOro5h7l7H3jylx
  196. // SIG // TS51G0hB2vC1DSBU1negl4Jjaf0Jz4rwdbsJm9n5EVUm
  197. // SIG // mmEyvnoCsHuGvqLDiyIseNE1drySc1z5ueZMFQojzOTS
  198. // SIG // 1DQuSUAVPA9geiTGpWbvls9w6z7n9A1+3NF8o3ZxacGc
  199. // SIG // T0cwNSGxoq8aYjwr2Y6qKgd72BizXHvinaVv/jyJrTCC
  200. // SIG // BBIwggL6oAMCAQICDwDBAIs8PIgR0T72Y+zfQDANBgkq
  201. // SIG // hkiG9w0BAQQFADBwMSswKQYDVQQLEyJDb3B5cmlnaHQg
  202. // SIG // KGMpIDE5OTcgTWljcm9zb2Z0IENvcnAuMR4wHAYDVQQL
  203. // SIG // ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAfBgNVBAMT
  204. // SIG // GE1pY3Jvc29mdCBSb290IEF1dGhvcml0eTAeFw05NzAx
  205. // SIG // MTAwNzAwMDBaFw0yMDEyMzEwNzAwMDBaMHAxKzApBgNV
  206. // SIG // BAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3NvZnQg
  207. // SIG // Q29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3Jh
  208. // SIG // dGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3QgQXV0
  209. // SIG // aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
  210. // SIG // CgKCAQEAqQK9wXDmO/JOGyifl3heMOqiqY0lX/j+lUyj
  211. // SIG // t/6doiA+fFGim6KPYDJr0UJkee6sdslU2vLrnIYcj5+E
  212. // SIG // ZrPFa3piI9YdPN4PAZLolsS/LWaammgmmdA6LL8MtVgm
  213. // SIG // wUbnCj44liypKDmo7EmDQuOED7uabFVhrIJ8oWAtd0zp
  214. // SIG // mbRkO5pQHDEIJBSfqeeRKxjmPZhjFGBYBWWfHTdSh/en
  215. // SIG // 75QCxhvTv1VFs4mAvzrsVJROrv2nem10Tq8YzJYJKCEA
  216. // SIG // V5BgaTe7SxIHPFb/W/ukZgoIptKBVlfvtjteFoF3BNr2
  217. // SIG // vq6Alf6wzX/WpxpyXDzKvPAIoyIwswaFybMgdxOF3wID
  218. // SIG // AQABo4GoMIGlMIGiBgNVHQEEgZowgZeAEFvQcO9pcp4j
  219. // SIG // UX4Usk2O/8uhcjBwMSswKQYDVQQLEyJDb3B5cmlnaHQg
  220. // SIG // KGMpIDE5OTcgTWljcm9zb2Z0IENvcnAuMR4wHAYDVQQL
  221. // SIG // ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAfBgNVBAMT
  222. // SIG // GE1pY3Jvc29mdCBSb290IEF1dGhvcml0eYIPAMEAizw8
  223. // SIG // iBHRPvZj7N9AMA0GCSqGSIb3DQEBBAUAA4IBAQCV6AvA
  224. // SIG // jfOXGDXtuAEk2HcR81xgMp+eC8s+BZGIj8k65iHy8FeT
  225. // SIG // LLWgR8hi7/zXzDs7Wqk2VGn+JG0/ycyq3gV83TGNPZ8Q
  226. // SIG // cGq7/hJPGGnA/NBD4xFaIE/qYnuvqhnIKzclLb5loRKK
  227. // SIG // JQ9jo/dUHPkhydYV81KsbkMyB/2CF/jlZ2wNUfa98VLH
  228. // SIG // vefEMPwgMQmIHZUpGk3VHQKl8YDgA7Rb9LHdyFfuZUnH
  229. // SIG // UlS2tAMoEv+Q1vAIj364l8WrNyzkeuSod+N2oADQaj/B
  230. // SIG // 0jaK4EESqDVqG2rbNeHUHATkqEUEyFozOG5NHA1itwqi
  231. // SIG // jNPVVD9GzRxVpnDbEjqHk3Wfp9KgMIIEyTCCA7GgAwIB
  232. // SIG // AgIQaguZT8AA3qoR1NhAmqi+5jANBgkqhkiG9w0BAQQF
  233. // SIG // ADBwMSswKQYDVQQLEyJDb3B5cmlnaHQgKGMpIDE5OTcg
  234. // SIG // TWljcm9zb2Z0IENvcnAuMR4wHAYDVQQLExVNaWNyb3Nv
  235. // SIG // ZnQgQ29ycG9yYXRpb24xITAfBgNVBAMTGE1pY3Jvc29m
  236. // SIG // dCBSb290IEF1dGhvcml0eTAeFw0wMDEyMTAwODAwMDBa
  237. // SIG // Fw0wNTExMTIwODAwMDBaMIGmMQswCQYDVQQGEwJVUzET
  238. // SIG // MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
  239. // SIG // bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
  240. // SIG // aW9uMSswKQYDVQQLEyJDb3B5cmlnaHQgKGMpIDIwMDAg
  241. // SIG // TWljcm9zb2Z0IENvcnAuMSMwIQYDVQQDExpNaWNyb3Nv
  242. // SIG // ZnQgQ29kZSBTaWduaW5nIFBDQTCCASAwDQYJKoZIhvcN
  243. // SIG // AQEBBQADggENADCCAQgCggEBAKKEFVPYCzAONJX/OhvC
  244. // SIG // 8y97bTcjTfPSjOX9r/3FAjQfJMflodxU7H4CdEer2zJY
  245. // SIG // FhRRKTjxfrK0jDpHtTlOblTCMQw6bfvNzctQnBuup9jZ
  246. // SIG // SiY/tcXLj5biSfJt2OmWPt4Fz/CmVTetL2DNgGFCoUlU
  247. // SIG // Sg8Yt0vZk5kwWkd1ZLTTu922qwydT7hzOxg6qrSHjLCI
  248. // SIG // sE1PH04RtTOA3w06ZG9ExzS9SpObvKYd+QUjTmApj8wq
  249. // SIG // 8oSama2o2wpwe9Y0QZClt2bHXBsdozMOm1QDGj+YkLjM
  250. // SIG // 5z0EdEMcj/c55rOsSHprKg5iAWE5dm79PpgHSxTxAUb9
  251. // SIG // FQDgR9pP5AXkgCUCAQOjggEoMIIBJDATBgNVHSUEDDAK
  252. // SIG // BggrBgEFBQcDAzCBogYDVR0BBIGaMIGXgBBb0HDvaXKe
  253. // SIG // I1F+FLJNjv/LoXIwcDErMCkGA1UECxMiQ29weXJpZ2h0
  254. // SIG // IChjKSAxOTk3IE1pY3Jvc29mdCBDb3JwLjEeMBwGA1UE
  255. // SIG // CxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYDVQQD
  256. // SIG // ExhNaWNyb3NvZnQgUm9vdCBBdXRob3JpdHmCDwDBAIs8
  257. // SIG // PIgR0T72Y+zfQDAQBgkrBgEEAYI3FQEEAwIBADAdBgNV
  258. // SIG // HQ4EFgQUKVy5G7bNM+67nll99+XKLsQNNCgwGQYJKwYB
  259. // SIG // BAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgFG
  260. // SIG // MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQAD
  261. // SIG // ggEBAEVY4ppBf/ydv0h3d66M2eYZxVe0Gr20uV8CoUVq
  262. // SIG // OVn5uSecLU2e/KLkOIo4ZCJC37kvKs+31gbK6yq/4BqF
  263. // SIG // fNtRCD30ItPUwG2IgRVEX2SDZMSplCyK25A3Sg+36NRh
  264. // SIG // j3Z24dkl/ySElY0EVlSUoRw6PoK87qWHjByMS3lftUn6
  265. // SIG // XjJpOh9UrXVN32TnMDzbZElE+/vEHEJx5qA9Re5rAJ+s
  266. // SIG // Qr26EbNW5PvVoiqB2B9OolW+J49wpqJsG/9UioK8gUum
  267. // SIG // obFmeqkXp8sGwEfrprPpMRVTPSoEv/9zSNyLJ0P8Y+ju
  268. // SIG // JIdbvjbR6DH1Mtle33l6ujCsaYZK+4wRvxuNVFkwggTh
  269. // SIG // MIIDyaADAgECAgphDn2nAAAAAABIMA0GCSqGSIb3DQEB
  270. // SIG // BQUAMIGmMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
  271. // SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
  272. // SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSswKQYDVQQL
  273. // SIG // EyJDb3B5cmlnaHQgKGMpIDIwMDAgTWljcm9zb2Z0IENv
  274. // SIG // cnAuMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBTaWdu
  275. // SIG // aW5nIFBDQTAeFw0wMzEwMjUwNTU5MTRaFw0wNTAxMjUw
  276. // SIG // NjA5MTRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX
  277. // SIG // YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
  278. // SIG // VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xHjAcBgNV
  279. // SIG // BAMTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjCCASIwDQYJ
  280. // SIG // KoZIhvcNAQEBBQADggEPADCCAQoCggEBALIthwm1XN9V
  281. // SIG // metSYufT9ONFcakyv5TyDukNrf6dxwRqWE6cpNHYREH7
  282. // SIG // ZH4PZe7IF9pN29nWULQMVltsFohLvwPuUEiD7E+Ik5pR
  283. // SIG // 45QZf/qzl6XOYG2f3UyTOL3NNFlx5obO6YOZoJa46uBE
  284. // SIG // WxNCuTpITlRy9wiW5ADEggF2Q69hwtv65cXwAhPd+DW0
  285. // SIG // Dw1SNkZ0Q7GiypzdfpnxNRF3+xUmAY7P4LgEeCoV/XLG
  286. // SIG // YHaRDOdPshgYG2mJtPEvIRtm6sqRx0YNuRdYcVhWhmUj
  287. // SIG // 0QIyrmSgb9pSlf373Y009cEMNaNH1+kbavoPRbToMh1w
  288. // SIG // Gb3R+eVkH+uHN+pv1A2Dj/0CAwEAAaOCAUAwggE8MA4G
  289. // SIG // A1UdDwEB/wQEAwIGwDAdBgNVHQ4EFgQUgo+nF2RkckTV
  290. // SIG // MK4WhOJTkMs+ntQwEwYDVR0lBAwwCgYIKwYBBQUHAwMw
  291. // SIG // gakGA1UdIwSBoTCBnoAUKVy5G7bNM+67nll99+XKLsQN
  292. // SIG // NCihdKRyMHAxKzApBgNVBAsTIkNvcHlyaWdodCAoYykg
  293. // SIG // MTk5NyBNaWNyb3NvZnQgQ29ycC4xHjAcBgNVBAsTFU1p
  294. // SIG // Y3Jvc29mdCBDb3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWlj
  295. // SIG // cm9zb2Z0IFJvb3QgQXV0aG9yaXR5ghBqC5lPwADeqhHU
  296. // SIG // 2ECaqL7mMEoGA1UdHwRDMEEwP6A9oDuGOWh0dHA6Ly9j
  297. // SIG // cmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3Rz
  298. // SIG // L0NvZGVTaWduUENBLmNybDANBgkqhkiG9w0BAQUFAAOC
  299. // SIG // AQEASkjcMrB6Zz+LKwG0DPXbeUFd4Dftv1Fzf9b5fmxt
  300. // SIG // f5+8paRIHqjj7ab1PIZqkVlM1FMU697uzcPckKMIsYtF
  301. // SIG // Ov1qcPDOBAY2LjC0j0yr6t1DWc2DoNfupEmuECRPmf/V
  302. // SIG // Avnshkyl2CLoARct6xOQmZoRgDMMGYh+BhnUMe1MyX67
  303. // SIG // JMexveVUO+p3EImHbOCcgI3SEORKl6nqVxnXeCsNmzUn
  304. // SIG // sTi+0r+tx/DmbVqfEPbK8fLgMKsBphPItjlkvQkJ7Yu2
  305. // SIG // FBhqeinGdEs7R/EUycveF92yXNjMOYc8OUjFMHyOdVfu
  306. // SIG // 7RugDYVyNWRJvqFJOOKanEp8gmQNAXhfVv6IdDGCBI0w
  307. // SIG // ggSJAgEBMIG1MIGmMQswCQYDVQQGEwJVUzETMBEGA1UE
  308. // SIG // CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe
  309. // SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSsw
  310. // SIG // KQYDVQQLEyJDb3B5cmlnaHQgKGMpIDIwMDAgTWljcm9z
  311. // SIG // b2Z0IENvcnAuMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29k
  312. // SIG // ZSBTaWduaW5nIFBDQQIKYQ59pwAAAAAASDAJBgUrDgMC
  313. // SIG // GgUAoIGqMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEE
  314. // SIG // MBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMCMG
  315. // SIG // CSqGSIb3DQEJBDEWBBSasIZaAH8CCjJt8CEz0Fvu43gF
  316. // SIG // pDBKBgorBgEEAYI3AgEMMTwwOqAYgBYAXwBwAHIAZQBs
  317. // SIG // AG8AYQBkAC4AagBzoR6AHGh0dHA6Ly9vZmZpY2UubWlj
  318. // SIG // cm9zb2Z0LmNvbSAwDQYJKoZIhvcNAQEBBQAEggEAoT+C
  319. // SIG // 3d3KLSOT7i2fjzGwAIlqgIs2kf7XIRCyY+Ffk/GouGn/
  320. // SIG // CA12Iom2Zih3WJ3wYpQgNQ25xqZyo7syz2uMOJFLgrUa
  321. // SIG // opgbvlZBurL7UP6mNKtq0RjU8q54g22iXGOeFWqXKTbe
  322. // SIG // zyXzZkw22QO4eGRkrEiS+0WrveJjrmi0+Shd1e4acvJT
  323. // SIG // m8i+mSddpmlXkd8C5PUyfi8nh/v4MxAPKw9akYqlezXB
  324. // SIG // +V/gyIiC/CiSEMIQeWparzI1nymvNypFWgXW+3v+j/GT
  325. // SIG // s7uPxQuLVxF+PHQneZVQDjK67wjn9ihMPJJIF6DHKWeX
  326. // SIG // gU7XVafQBQMmnX6YLSkJ94qmhQid2KGCAf8wggH7Bgkq
  327. // SIG // hkiG9w0BCQYxggHsMIIB6AIBATBnMFMxCzAJBgNVBAYT
  328. // SIG // AlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjErMCkG
  329. // SIG // A1UEAxMiVmVyaVNpZ24gVGltZSBTdGFtcGluZyBTZXJ2
  330. // SIG // aWNlcyBDQQIQDekr8NTYKYgYMgUJXpp2iDAMBggqhkiG
  331. // SIG // 9w0CBQUAoFkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEH
  332. // SIG // ATAcBgkqhkiG9w0BCQUxDxcNMDQwNDE2MDkzNzE1WjAf
  333. // SIG // BgkqhkiG9w0BCQQxEgQQlH01MmkraKzKaKoR6IjuODAN
  334. // SIG // BgkqhkiG9w0BAQEFAASCAQB9HwYHB070atGSHYE5c9z8
  335. // SIG // bvJYswilA42MrBUK9dwlJPLdqA7ZpbmuGNu6brES8ZDZ
  336. // SIG // 2fVLmxVBszxMO7ZjqXxOeMAPqKgfIwbH5s5CU0sN/sOb
  337. // SIG // RoxIzMYPs5TXcH858JOfnWh+iLl4g3pEqMOkcjv52XW9
  338. // SIG // 1jMJeYc0pJuQJZDSVEw+3k3NxcrnEhnym4Wv5fJi/psu
  339. // SIG // GlGkdKeBN253LsERSP8YTVUHMnUS0DWQKhlAAkwdbdXL
  340. // SIG // 3/Xzx0xEq7CXfXW3cRrGmGY8evbvTpDa71AoLfH7bGf/
  341. // SIG // A/TXJz1ej9suEbiD30C9wb+Hj24Jj+gT3qtnSB3gDpsP
  342. // SIG // Y45vPloy72Q4
  343. // SIG // End signature block
  344.